package org.flower.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.flower.bean.CommodityClass;
import org.flower.bean.CommodityClassExample;

/**
 * 商品类映射器
 *
 * @author Aizen
 * @date 2021/12/09
 */
public interface CommodityClassMapper {

    /**
     * 拿所有级别
     * @return
     */
    List<Integer> findAllType();

    /**
     * 获取所有一级菜单
     */
    List<String> findOneMune();




    /**
     * 计算实例
     *
     * @param example 例子
     * @return int
     */
    int countByExample(CommodityClassExample example);

    /**
     * 删除实例
     *
     * @param example 例子
     * @return int
     */
    int deleteByExample(CommodityClassExample example);

    /**
     * 按主键删除
     *
     * @param id id
     * @return int
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 插入
     *
     * @param record 记录
     * @return int
     */
    int insert(CommodityClass record);

    /**
     * 插入选择性
     *
     * @param record 记录
     * @return int
     */
    int insertSelective(CommodityClass record);

    /**
     * 选择的例子
     *
     * @param example 例子
     * @return {@link List}<{@link CommodityClass}>
     */
    List<CommodityClass> selectByExample(CommodityClassExample example);

    /**
     * 选择通过主键
     *
     * @param id id
     * @return {@link CommodityClass}
     */
    CommodityClass selectByPrimaryKey(Integer id);

    /**
     * 更新的例子有选择性
     *
     * @param record  记录
     * @param example 例子
     * @return int
     */
    int updateByExampleSelective(@Param("record") CommodityClass record, @Param("example") CommodityClassExample example);

    /**
     * 更新的例子
     *
     * @param record  记录
     * @param example 例子
     * @return int
     */
    int updateByExample(@Param("record") CommodityClass record, @Param("example") CommodityClassExample example);

    /**
     * 更新主键的选择性
     *
     * @param record 记录
     * @return int
     */
    int updateByPrimaryKeySelective(CommodityClass record);

    /**
     * 更新的主键
     *
     * @param record 记录
     * @return int
     */
    int updateByPrimaryKey(CommodityClass record);
}